<?php
// https://leetcode-cn.com/problems/merge-sorted-array/
class Solution {

    /**
     * @param Integer[] $nums1
     * @param Integer $m
     * @param Integer[] $nums2
     * @param Integer $n
     * @return NULL
     */
    function merge(&$nums1, $m, $nums2, $n) {
        $p = $m + $n - 1;
        $p1 = $m - 1;
        $p2 = $n - 1;
        // 倒序赋值
        while ($p1>=0 && $p2 >= 0) {
            $nums1[$p--] = $nums1[$p1] > $nums2[$p2] ? $nums1[$p1--] : $nums2[$p2--];
        }
        // 数组1先遍历完
        if ($p2 >= 0) {
            for (;$p2 >= 0; $p2--) {
                $nums1[$p--] = $nums2[$p2];
            }
        }
        // 数组2先遍历完
        if ($p1 >= 0) {
            for (;$p1 >= 0; $p1--) {
                $nums1[$p--] = $nums1[$p1];
            }
        }
    }
}